﻿using System;
using System.Collections;

using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CapaGestion;
using CapaGestion.Spring;
using CRUD.DAO;
using CapaNegocios;
using GestionadorBaseDatos;


public partial class InterfazKamalde_AdministrarUsuario : Base
{
    public static Usuario usu = new Usuario();
    public IGestionUsuario gestionarUsuario = AdministradorGestion.getGestionarUsuario();

    protected void Page_Load(object sender, EventArgs e)
    {
        if ((Session["login"] == null) || (((Usuario)Session["login"]).Estado != "ADMINISTRADOR"))
        {
            Response.Redirect("inicio.aspx");
        }
        else
        {
            if (IsPostBack)
            {
                if (Request.Form["cont"] == "1")   //if user clicks "OK" to confirm 
                {
                    Request.Form["cont"].Replace("1", "0");
                    usu.Estado = "DESACTIVADO";
                    gestionarUsuario.ActualizarDatosUsuario(usu);
                    gestionarUsuario.EnviarCorreoSituacion(usu);
                }
            }
        }
    }

    public void BuscarUsuario(object sender, EventArgs e)
    {
        
        
        usu = gestionarUsuario.ObtenerUsuarioPorNickname(nickname.Text);
        if (usu.Nombre == null)
        {
            mensaje.alert("Nickname Incorrecto");
        }
        else
        {
            Panel1.Visible = true;
            nombre.Text = usu.Nombre;
            apellido.Text = usu.Apellido;

        }
    }

    public void MostrarApuestas(object sender, EventArgs e)
    {
        if (usu.PagosAsociados != null)
        {
            IGestionApuesta gestionarApuesta = AdministradorGestion.getGestionarApuesta();

            tabla.Controls.Add(ConsultarApuestas(gestionarApuesta.GetById(usu.Nickname)));
        }
        else
        { 
            mensaje.alert("El usuario no tiene formas de pago registradas");
        }
    }
    public void MostrarFormas(object sender, EventArgs e)
    {
        if (usu.PagosAsociados != null)
        {
            tabla.Controls.Add(ConsultarFormas(usu.PagosAsociados));
        }
        else
        {
            mensaje.alert("El usuario no tiene formas de pago registradas");
        }
    }
    public void DesactivarUsuario(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
        //mensaje.confirm("Seguro desea desactivar al usuario " + usu.Nickname, "cont");
            
    }
    public HtmlTable ConsultarFormas(IList eventos)
    {
        HtmlTable tableCategoria = new HtmlTable();
        HtmlTableRow r = new HtmlTableRow();
        HtmlTableCell cat = new HtmlTableCell();
        HtmlTableCell imagen = new HtmlTableCell();
      
        
        cat.Align = "center";
        imagen.Width = "30";
        cat.Width = "200";
       
        Label categ = new Label();
        categ.Font.Bold = false;
        categ.Font.Name = "Verdana";
        categ.Font.Size = new FontUnit(12);
        categ.Text = "Nombre Evento";
        cat.Controls.Add(categ);
        Label fecha = new Label();
        fecha.Font.Bold = false;
        fecha.Font.Name = "Verdana";
        fecha.Font.Size = new FontUnit(12);
        fecha.Text = "Fecha";
      
        r.Cells.Add(imagen);
        r.Cells.Add(cat);

     
        tableCategoria.Rows.Add(r);

        tableCategoria.BgColor = "0";
        tableCategoria.Width = "450";

        int tamano = eventos.Count;
        int cont = 0;

        while (cont < tamano)
        {
           

                Image a = new Image();
                a.ImageUrl = "images/bullet3-gamblingtemplatesdotnet.gif";
                imagen = new HtmlTableCell();
                cat = new HtmlTableCell();
          
                imagen.Controls.Add(a);
                imagen.Width = "30";
                imagen.Align = "center";
                categ = new Label();
          
                r = new HtmlTableRow();
                r.Cells.Add(imagen);
                cat.Width = "350";
                Label hyperlinkModif = new Label();
                hyperlinkModif.Text = ((Pago)eventos[cont]).FormaPagoAsociado.Nombre.ToUpper() + "\n\r";
             
                cat.Align = "center";
            
                cat.Controls.Add(hyperlinkModif);
                r.Cells.Add(cat);
               
                tableCategoria.Rows.Add(r);

            
            cont++;
        }


        return tableCategoria;
    }
    public HtmlTable ConsultarApuestas(IList eventos)
    {
        HtmlTable tableCategoria = new HtmlTable();
        HtmlTableRow r = new HtmlTableRow();
        HtmlTableCell cat = new HtmlTableCell();
        HtmlTableCell imagen = new HtmlTableCell();
        HtmlTableCell cel2 = new HtmlTableCell();
        HtmlTableCell cel3 = new HtmlTableCell();
        HtmlTableCell cel4 = new HtmlTableCell();
        HtmlTableCell cel5 = new HtmlTableCell();
       IList<Apuesta> feoi = new List<Apuesta>();
        foreach (Apuesta p in eventos)
        {
            feoi.Add(p);
        }
        IEnumerable<Apuesta> toma = feoi.OrderBy(como => como.ProporcionAsociado.Ganador);
        cat.Align = "center";
        cat.Width = "200";
        imagen.Width = "30";
        Label categ = new Label();
        categ.Font.Bold = false;
        categ.Font.Name = "Verdana";
        categ.Font.Size = new FontUnit(12);
        categ.Text = "Nombre Evento";
        cat.Controls.Add(categ);

        cel2.Align = "center";
        cel2.Width = "30";
        Label lcel2 = new Label();
        lcel2.Font.Bold = false;
        lcel2.Font.Name = "Verdana";
        lcel2.Font.Size = new FontUnit(12);
        lcel2.Text = "Monto";
        cel2.Controls.Add(lcel2);

        cel3.Align = "center";
        cel3.Width = "30";
        Label lcel3 = new Label();
        lcel3.Font.Bold = false;
        lcel3.Font.Name = "Verdana";
        lcel3.Font.Size = new FontUnit(12);
        lcel3.Text = "Participante";
        cel3.Controls.Add(lcel3);

        cel4.Align = "center";
        cel4.Width = "30";
        Label lcel4 = new Label();
        lcel4.Font.Bold = false;
        lcel4.Font.Name = "Verdana";
        lcel4.Font.Size = new FontUnit(12);
        lcel4.Text = "Ganador";
        cel4.Controls.Add(lcel4);

        cel5.Align = "center";
        cel5.Width = "30";
        Label lcel5 = new Label();
        lcel5.Font.Bold = false;
        lcel5.Font.Name = "Verdana";
        lcel5.Font.Size = new FontUnit(12);
        lcel5.Text = "Tarjeta";
        cel5.Controls.Add(lcel5);

        
        
         r.Cells.Add(imagen);
        r.Cells.Add(cat);
        r.Cells.Add(cel2);
        r.Cells.Add(cel3);
        r.Cells.Add(cel4);
        r.Cells.Add(cel5);
        tableCategoria.Rows.Add(r);
        tableCategoria.BgColor = "0";
        tableCategoria.Width = "450";

        int tamano = eventos.Count;
        int cont = 0;

        while (cont < tamano)
        {
            Image a = new Image();
            a.ImageUrl = "images/bullet3-gamblingtemplatesdotnet.gif";
            imagen = new HtmlTableCell();
            cat = new HtmlTableCell();
            cel2 = new HtmlTableCell();
            cel3 = new HtmlTableCell();
            cel4 = new HtmlTableCell();
            cel5 = new HtmlTableCell();
            imagen.Controls.Add(a);
            imagen.Width = "30";
            imagen.Align = "center";
            categ = new Label();

            r = new HtmlTableRow();
            r.Cells.Add(imagen);
            cat.Width = "350";
            Label hyperlinkModif = new Label();
            Apuesta tomae = toma.ElementAt(cont);
            hyperlinkModif.Text = toma.ElementAt(cont).ProporcionAsociado.EventoAsociado.NombreEvento+ "\n\r";
            lcel2 = new Label();
            lcel3 = new Label();
            lcel4 = new Label();
            lcel5 = new Label();
            lcel2.Text = ((Apuesta)eventos[cont]).Monto + "\n\r";
            lcel3.Text = ((Apuesta)eventos[cont]).ProporcionAsociado.Participante.Nombre + "\n\r";
            lcel4.Text = ((Apuesta)eventos[cont]).ProporcionAsociado.Ganador+ "\n\r";
            lcel5.Text = ((Apuesta)eventos[cont]).PagoAsociado.FormaPagoAsociado.Nombre+ "\n\r";
            cat.Align = "center";
            cel2.Align = "center";
            cel3.Align = "center";
            cel4.Align = "center";
            cel5.Align = "center";
            cel2.Controls.Add(lcel2);
            
            cel3.Controls.Add(lcel3);
            cel4.Controls.Add(lcel4);
            cel5.Controls.Add(lcel5);
            cat.Controls.Add(hyperlinkModif);
            r.Cells.Add(cat);
            r.Cells.Add(cel2);
            r.Cells.Add(cel3);
            r.Cells.Add(cel4);
            r.Cells.Add(cel5);
            tableCategoria.Rows.Add(r);
            cont++;
        }
        return tableCategoria;
    }

}
